home *** CD-ROM | disk | FTP | other *** search
/ Aminet 32 / Aminet 32 (1999)(Schatztruhe)[!][Aug 1999].iso / Aminet / dev / e / SpeedTests.readme < prev    next >
Text File  |  1999-07-01  |  4KB  |  94 lines

  1. Short:    How to optimize in E
  2. Author:   misha@femina.com.pl (Michal Durys)
  3. Uploader: misha@femina.com.pl (Michal Durys)
  4. Version:  1.0 (30.5.99)
  5. Type:     dev/e
  6. Keywords: e optimization misha polska poland
  7.  
  8.               .---------------------------.
  9. -------------(         DESCRIPTION         )
  10.               `---------------------------'
  11. This package is a result of my adventures with code optimization in E. I
  12. want my programs to be as fast as it's only possible. To achieve this I
  13. did many tests. Now I decided to release the results to public.
  14.  
  15. These tests are fairly simple but very meaningful. Eg. did you know that
  16.  
  17. FOR i:=0 TO LOOP_COUNTER DO something
  18.  
  19. is almost ten times faster than
  20.  
  21. FOR i:=0 TO LOOP_COUNTER
  22.   something
  23. ENDFOR
  24.  
  25. Just look at the included results and you will discover more intersting
  26. facts. All timings were done on my A1200 equipped with Apollo 1240/040
  27. (overclocked) turbo board.
  28.  
  29. But remember that the tests are not fully reliable, for example edit
  30. increase.e and remove some tests like this:
  31.  
  32. PROC main()
  33.   test({addone},   'x:=x+1',      LOTS_OF_TIMES) ; x:=0
  34. ->  test({addql},    'ADDQ.L #1,x', LOTS_OF_TIMES) ; x:=0
  35. ->  test({addqb},    'ADDQ.B #1,x', LOTS_OF_TIMES) ; x:=0
  36.   test({increase}, 'INC x',       LOTS_OF_TIMES) ; x:=0
  37. ENDPROC
  38.  
  39. Compile the program and when you execute it you will get different results.
  40. I was not able to track down the reason. If you can fix it be my guest.
  41.  
  42.               .---------------------------.
  43. -------------(         DISTRIBUTION        )
  44.               `---------------------------'
  45. This package is public domain.
  46.  
  47.  
  48. ============================= Archive contents =============================
  49.  
  50. Original  Packed Ratio    Date     Time    Name
  51. -------- ------- ----- --------- --------  -------------
  52.     1204     836 30.5% 30-May-99 16:38:30 +2conds
  53.      278     158 43.1% 27-Dec-98 17:29:38 +2conds.e
  54.     1636    1101 32.7% 30-May-99 16:38:44 +alloc128
  55.      628     292 53.5% 28-Dec-98 21:40:20 +alloc128.e
  56.     2184    1263 42.1% 30-May-99 16:38:46 +allocmany
  57.     1444     416 71.1% 30-May-99 16:33:46 +allocmany.e
  58.      188     133 29.2% 21-Nov-98 00:39:44 +bitmagic.m
  59.     1568     974 37.8% 30-May-99 16:39:16 +bounds
  60.      156      77 50.6% 30-May-99 16:44:42 +byteswap.results
  61.      104      49 52.8% 30-May-99 16:45:00 +ifnot.results
  62.      156      67 57.0% 30-May-99 16:45:24 +ifnotzero.results
  63.      104      47 54.8% 30-May-99 16:45:38 +ifthen.results
  64.      208      65 68.7% 30-May-99 16:45:58 +increase.results
  65.      104      60 42.3% 30-May-99 16:46:14 +mics.results
  66.      104      55 47.1% 30-May-99 16:54:32 +procexit.results
  67.     1589     781 50.8% 30-May-99 17:20:26 +SpeedTests.readme
  68.      622     253 59.3% 26-Dec-98 18:33:44 +bounds.e
  69.     2104    1082 48.5% 30-May-99 16:39:22 +byteswap
  70.     1171     308 73.6% 26-Dec-98 16:50:10 +byteswap.e
  71.     1244     861 30.7% 30-May-99 16:39:26 +for
  72.      304     166 45.3% 26-Dec-98 15:31:04 +for.e
  73.     1184     828 30.0% 30-May-99 16:39:28 +ifnot
  74.      275     160 41.8% 26-Dec-98 16:29:12 +ifnot.e
  75.     1232     841 31.7% 30-May-99 16:39:34 +ifnotzero
  76.      373     176 52.8% 27-Dec-98 18:05:00 +ifnotzero.e
  77.     1148     801 30.2% 30-May-99 16:39:36 +ifthen
  78.      260     150 42.3% 26-Dec-98 16:23:52 +ifthen.e
  79.     1360     870 36.0% 30-May-99 16:39:38 +increase
  80.      450     201 55.3% 02-Mar-99 15:12:58 +increase.e
  81.     1988    1026 48.3% 30-May-99 16:39:40 +mics
  82.      780     288 63.0% 18-Feb-99 01:13:22 +mics.e
  83.     1200     834 30.5% 30-May-99 16:39:42 +procexit
  84.      373     180 51.7% 27-Dec-98 17:18:02 +procexit.e
  85.      637     380 40.3% 02-Jan-99 13:53:42 +testspeed.e
  86.      462     333 27.9% 02-Jan-99 13:53:44 +testspeed.m
  87.      104      49 52.8% 30-May-99 16:40:42 +2conds.results
  88.      156      71 54.4% 30-May-99 16:41:36 +alloc128.results
  89.      208     102 50.9% 30-May-99 16:43:08 +allocmany.results
  90.      208      85 59.1% 30-May-99 16:43:30 +bounds.results
  91.      104      51 50.9% 30-May-99 16:44:12 +for.results
  92. -------- ------- ----- --------- --------
  93.    29602   16470 44.3% 02-Jun-99 21:14:34   40 files
  94.